Read in the data

##  [1] "ID"                    "Recipient"             "Donor"                
##  [4] "Clone_N"               "Rep"                   "0"                    
##  [7] "2.0833333333333332E-2" "4.1666666666666664E-2" "6.25E-2"              
## [10] "8.3333333333333329E-2" "0.10416666666666667"   "0.125"                
## [13] "0.14583333333333334"   "0.16666666666666666"   "0.1875"               
## [16] "0.20833333333333334"   "0.22916666666666666"   "0.25"                 
## [19] "0.27083333333333331"   "0.29166666666666669"   "0.3125"               
## [22] "0.33333333333333331"   "0.35416666666666669"   "0.375"                
## [25] "0.39583333333333331"   "0.41666666666666669"   "0.4375"               
## [28] "0.45833333333333331"   "0.47916666666666669"   "0.5"                  
## [31] "0.52083333333333337"   "0.54166666666666663"   "0.5625"               
## [34] "0.58333333333333337"   "0.60416666666666663"   "0.625"                
## [37] "0.64583333333333337"   "0.66666666666666663"   "0.6875"               
## [40] "0.70833333333333337"   "0.72916666666666663"   "0.75"                 
## [43] "0.77083333333333337"   "0.79166666666666663"   "0.8125"               
## [46] "0.83333333333333337"   "0.85416666666666663"   "0.875"                
## [49] "0.89583333333333337"   "0.91666666666666663"   "0.9375"               
## [52] "0.95833333333333337"   "0.97916666666666663"   "1"

reshape to long format

Group by recipient, color by donor

## Warning: Removed 10 row(s) containing missing values (geom_path).

Group by Donor, color by recipient

## Warning: Removed 10 row(s) containing missing values (geom_path).

Calculate Max OD

## `summarise()` has grouped output by 'ID', 'Recipient', 'Donor', 'Clone_N'. You
## can override using the `.groups` argument.
## # A tibble: 12 x 6
## # Groups:   ID, Recipient, Donor, Clone_N [12]
##    ID      Recipient Donor Clone_N   Rep max_od
##    <chr>   <chr>     <chr>   <dbl> <dbl>  <dbl>
##  1 156C3_1 15BC      6C          3     1  0.247
##  2 156C3_2 15BC      6C          3     2  0.194
##  3 156C3_3 15BC      6C          3     3  0.256
##  4 157C1_1 15BC      7C          1     1  0.339
##  5 157C1_2 15BC      7C          1     2  0.352
##  6 157C1_3 15BC      7C          1     3  0.362
##  7 226C1_1 22F       6C          1     1  0.222
##  8 226C1_2 22F       6C          1     2  0.195
##  9 226C1_3 22F       6C          1     3  0.166
## 10 227C2_1 22F       7C          2     1  0.327
## 11 227C2_2 22F       7C          2     2  0.247
## 12 227C2_3 22F       7C          2     3  0.173

Smooth with a spline

## Warning: Removed 10 row(s) containing missing values (geom_path).

Plot of smoothed values

Plot of derivatives. When derivative is at max, this shows when growth rate maxes out

At what time point does max growth occur?

## `summarise()` has grouped output by 'ID', 'Recipient', 'Donor', 'Clone_N'. You
## can override using the `.groups` argument.
## # A tibble: 12 x 7
## # Groups:   ID, Recipient, Donor, Clone_N [12]
##    ID      Recipient Donor Clone_N   Rep t_max_deriv label  
##    <chr>   <chr>     <chr>   <dbl> <dbl>       <dbl> <chr>  
##  1 156C3_1 15BC      6C          3     1        12   15BC 6C
##  2 156C3_2 15BC      6C          3     2        11.5 15BC 6C
##  3 156C3_3 15BC      6C          3     3        11   15BC 6C
##  4 157C1_1 15BC      7C          1     1         7.5 15BC 7C
##  5 157C1_2 15BC      7C          1     2         4   15BC 7C
##  6 157C1_3 15BC      7C          1     3         4   15BC 7C
##  7 226C1_1 22F       6C          1     1         2   22F 6C 
##  8 226C1_2 22F       6C          1     2         2.5 22F 6C 
##  9 226C1_3 22F       6C          1     3         2   22F 6C 
## 10 227C2_1 22F       7C          2     1         4   22F 7C 
## 11 227C2_2 22F       7C          2     2         7.5 22F 7C 
## 12 227C2_3 22F       7C          2     3         5.5 22F 7C